package comp302.prototype.component;

import java.awt.Graphics;
import java.awt.Point;

import comp302.prototype.xml.XMLNode;

public interface Component {

	public String getName();

	public void draw(Graphics g);

	public boolean isPointInside(Point p);

	public boolean select(int x, int y);

	public void deselect();

	public boolean isSelected();

	public void move(int x, int y);

	public void updateAttributes();

	public boolean boundaryCheck(int width, int height);
	
	public XMLNode toXML();
	
	public String toString();
	
	public void fromXML(XMLNode node);
}
